<p>This is a demo application highlighting how to make internet-based calls with
the SIP API.  The application uses a walkie-talkie style interface, allowing you
to only be heard when the button is pushed down.</p>

<p>The source code for this demo app shows how to accomplish three key things
with SIP:  Make a call, receive a call, and signal to the Android platform that
your app wants to receive incoming SIP calls, so that they can be handled from
within the application.</p>


<p>The application includes:<p>
<ul> <li><a
    href="src/com/example/android/sip/SipSettings.html"><code>SipSettings</code></a>
  &mdash; a <code>PreferenceActivity</code> that supplies basic settings for SIP
  authentication.</li> <li><a
    href="src/com/example/android/sip/IncomingCallReceiver.html"><code>
      IncomingCallReceiver</code></a> &mdash; a <code>BroadcastReceiver</code>
  that listens for incoming SIP calls and passes them to
  <code>WalkieTalkieActivity</code> for handling.</li> <li><a
    href="src/com/example/android/sip/WalkieTalkieActivity.html"><code>WalkieTalkieActivity</code></a>
  &mdash; a activity that login to SIP provider and registers the device to
  receive incoming SIP, handles incoming calls and makes outgoing calls, managing
  UI during the call.</li> </ul>
<p>If you are developing an application that uses the SIP API, remember that the
feature is supported only on Android 2.3 (API level 9) and higher versions of
the platform. Also, among devices running Android 2.3 (API level 9) or higher,
not all devices will offer SIP support. To ensure that your application can only
be installed on devices that are capable of supporting SIP, remember to add the
following to the application's manifest before publishing to Google Play:</p>
<ul> <li><code>&lt;uses-sdk android:minSdkVersion="9" /&gt;</code>, which
  indicates to Google Play and the platform that your application requires
  Android 2.3 or higher. For more information, see <a
    href="../../../guide/appendix/api-levels.html">API Levels</a> and the
  documentation for the <a
    href="../../../guide/topics/manifest/uses-sdk-element.html"><code>&lt;uses-sdk&gt;</code></a>
  element.</li> </ul> <p>To control how Google Play filters your application
from devices that do not support SIP, remember to add the following to the
application's manifest <ul> <li><code>&lt;uses-feature
    android:name="android.hardware.sip.voip" /&gt;</code>, which tells Google
  Play that your application uses the SIP API. The declaration should include
  an <code>android:required</code> attribute that indicates whether you want
  Google Play to filter the application from devices that do not offer SIP
  support. Other <code>&lt;uses-feature&gt;</code> declarations may also be
  needed, depending on your implementation. For more information, see the
  documentation for the <a
    href="../../../guide/topics/manifest/uses-feature-element.html"><code>&lt;uses-feature&gt;</code></a>
  element.</li> </ul>
<p>For more information about using the SIP API, see the <a
  href="../../../reference/android/net/sip/package-summary.html"><code>android.net.sip</a></code>
documentation. </p>

<img alt="" src="../images/SipDemo.png" />
